package la.iok.hzsvn.lewin.movie.core.movieservice.param;

import java.util.Objects;

/**
 * 剧本版本列表过滤参数
 */
public class MovieVersionListParam {
    private String name;
    private String author;
    private String tag;
    private Long movieLevelId;
    /**
     * 标记剧本文件是否已经删除。删除剧本实例的剧本文件,对剧本引用的所有文件引用计数减1，并将引用剧本文件的每个子表对象都标记为文件已经删除。
     * 0：默认值，未删除；1：已删除
     */
    private Integer fileDeleted;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public Long getMovieLevelId() {
        return movieLevelId;
    }

    public void setMovieLevelId(Long movieLevelId) {
        this.movieLevelId = movieLevelId;
    }

    public Integer getFileDeleted() {
        return fileDeleted;
    }

    public void setFileDeleted(Integer fileDeleted) {
        this.fileDeleted = fileDeleted;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof MovieVersionListParam)) return false;
        MovieVersionListParam that = (MovieVersionListParam) o;
        return Objects.equals(name, that.name) && Objects.equals(author, that.author) && Objects.equals(tag, that.tag) && Objects.equals(movieLevelId, that.movieLevelId) && Objects.equals(fileDeleted, that.fileDeleted);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, author, tag, movieLevelId, fileDeleted);
    }

    @Override
    public String toString() {
        return "MovieVersionListParam{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", tag='" + tag + '\'' +
                ", movieLevelId=" + movieLevelId +
                ", fileDeleted=" + fileDeleted +
                '}';
    }
}
